package comunicacion;

import java.io.IOException;

import javax.vecmath.Point3d;


public interface Conector {
	
	/**
	 * Permite enviar velocidades para los motores de mi robot 
	 */
	void enviarVelocidades(double velocidadIzquiera, double velocidadDerecha) throws IOException;
	
	/**
	 * Detiene ambos motores de mi robot
	 */
	void detenerMotores() throws IOException;

	
	void enviarBeep();
	
	/**
	 * Devuelve las coordenadas de nuestro robot
	 */
	Point3d getCoordenadas() throws IOException;
	
	/**
	 * Devuelve las coordenadas del objeto idEntidad
	 */
	Point3d getCoordenadas(int idEntidad) throws IOException;
	
	/**
	 * Devuelve las coordenadas de los demas objetos del entorno
	 */
	Point3d[] getCoordenadasObjetos() throws IOException;
	
	/**
	 * @param path
	 * @param archivo
	 * @throws IOException
	 * Guarda la simulacion actual.
	 * path debe emepzar y terminar con '/'
	 * archivo debe terminar con .xml
	 * Ejemplo: /home/current_user/simulation.xml
	 */
	public void guardarSimulacion(String path, String archivo) throws IOException;
	
	/**
	 * @param path
	 * @param archivo
	 * @throws IOException
	 * Carga la simulacion actual.
	 * path debe emepzar y terminar con '/'
	 * archivo debe terminar con .xml
	 * Ejemplo: /home/current_user/simulation.xml
	 */
	public void cargarSimulacion(String path, String archivo) throws IOException;

}
